home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekikoh Dennoh Club 1
/
Gekikoh Dennoh Club Vol. 1 (Japan).7z
/
Gekikoh Dennoh Club Vol. 1 (Japan) (Track 1).bin
/
kowin
/
archive
/
apl
/
gpic153.lzh
/
gpic.doc
next >
Wrap
Text File
|
1993-06-17
|
9KB
|
308 lines
X68000 Ko-Window ウィンドウ背景用 PIC ローダー
GPIC.win version 1.53
1993 6/16 小笠原博之
X68K の Ko-Window の背景を、PIC(APIC) 画像にします。768x512 ドットモードや
1024x848 等での使用も可能です。ドット比が 1:1 でない一般の PIC 画像でも、ドッ
ト比率補正を行なうことができます。さらに比率補正圧縮して余った部分には縮小表
示を行なうこともできます。v1.50 から 512x512dot 以下の画像を Zoom するように
しました。v1.52 からトーン指定ができるようになりました(RGB単位の設定も可能)。
・正方形ドットの画像読み込み 768x512,800x526,1024x484 モードでもPIC表示可能
・512x512->正方形への比率補正処理機能(色合成による自然な変換)
補正後の処理 空き領域への縮小タイリング
過去6枚までの画像を縮小表示(シフト)
前画像の1/2を残す(1.5枚PIC表示) 等が選べる
・512x512dot以下のサイズの画像の場合背景最大限(512x512dot)まで拡大表示可能
縦と横のドット数が異なる場合 無調整または画像センタリング可能
縮小シフトを使うと、何枚もの画像をロードさせた場合縮小領域で同時に複数の画
像を見ることができます。1.5枚PIC表示は、縮小領域を使って縦につながった2画面
画像を1枚半分同時に見ることができます。
●使い方
GPIC [スイッチ] [<file[.pic]>]
画像ファイル名は、起動時に引数で与えることができます。起動後は、KF 等から
ファイル名をドラッグすると、そのファイルを読み込みます。またファイル名を
Clip Board から paste してファイル名を取り込むことも可能です。
与えるファイル名の拡張子は、省略すると「.pic」とみなします。ウィンドウ内部
には、ファイル名を表示します。
スイッチ
-x<num> ウィンドウの初期表示位置を指定します (X座標)
-y<num> (Y座標)
-m<mode> 画像の読み込みモードを指定します(後述 1~5 )
デフォルトは -m3
-t<tone> 画像のトーンを0~100%で指定します(デフォルト -t100)
(-r,-g,-bスイッチに全部同じ値を与えたのと同じです)
-r<tone> 画像のトーンをRGBの各色毎に0~100%で指定します
-g<tone> 例 -r50 -b40 -g30
-b<tone>
-c 従来の gpic のように、画像のコメント表示をします
注意: v1.30 以前と異なり、デフォルトでは画像のコメント表示を行ないません。
必要な場合は -c スイッチをつけて下さい。
●グラフィック表示指定
画像の読み込みモード、起動後マウスの右ボタンのポップアップメニューで選択す
ることができます。変更した場合は、次に画像を読み込む場合に有効になります。現
在表示させている画像のモードを変更する時は、メニューの「再ロード」を選んで下
さい。
1. モード 補正なし まったく手を加えずに表示します。
正方形ドットで描かれたPIC画像はこのモードでどうぞ。
または、ScreenMode が 512x512 や 256x256 の時に一般の
512x512dot サイズの画像を読み込むと、いっさい手を加え
ないそのままの画像を見ることができます。
2. モード 縦補正 768x512 や 384x256 など、ドットが正方形になる画面モー
ドの時に、一般の 512x512dot PIC 画像を自然に見れるよ
う縦方向に圧縮してドット比率を補正表示します。
(圧縮して余った領域には全く手を加えない)
3. モード 補正縮小 2 と同じように縦に補正表示します。その場合下側のあまっ
た領域には、同じ画像をさらに縮小して圧縮してちりばめ
ます。(タイリング)
4. モード 補縮シフト 2 と同じように縦に補正表示します。その場合下側のあまっ
た領域には、以前表示されていた画像を圧縮して表示しま
す。この縮小領域は順番にシフトされていくため、画像を
次々に読み込むと複数の絵を同時に見ることができます。
5. モード 補正連続 2 と同じように縦に補正表示します。その場合下側のあまっ
た領域には、前に表示されていた画像の上半分を表示しま
す。縦につながる2画面画像を見る場合に広く見れて便利
でしょう。
デフォルトはモード3の「補正縮小」です。起動時に「-m」スイッチで、指定する
こともできます。
例 gpic -m1 paper1.pic
なお、再ロードを実行した場合、モード 4, モード 5 では以前の画面が正しく復
活するわけではありません。
●拡大(Zoom)機能 (512x512dot 以下の画像サイズの場合のみ)
512x512 ドット以下の小さいサイズの画像を読み込ませた場合、背景に空き領域が
出ないよう、画面いっぱいまで引き伸ばして表示を行います。この引き伸ばし処理に
よって 512x512 ドットに変換してからあらためて上記のモードに従い比率補正を行
います。
画像の縦と横のドットサイズが異なる場合、デフォルトでは画像の中心部を取り出
して拡大します。これもポップアップメニューで以下の3種類から選択ができます。
Zoom:OFF 拡大を行いません(そのままロードするだけ)
Zoom:ON 画像の左上を基準に拡大します
Zoom:ON中央 画像の中央部分を取り出して拡大します(デフォルト)
●画像処理フロー
<縮小シフトモードか?>
[No] [Yes]
| ↓
| {{画像シフト}}
| {{画像縮小化}}
↓ |
<連続1.5PICモードか?> |
[No] [Yes] |
| | |
| {{上部画像取出}}|
| ↓ ↓
| {{縮小エリアの保存}}
| |
↓ ↓
{{PIC画像読み出し}}
↓
<512x512 以下の画像か?>
[No] [Yes]
| ↓
| <センタリングモードか?>
| [No] [Yes]
| | ↓
| | {{画像中央部の取り出し}}
| ↓ ↓
| {{512x512へ画像変換(拡大)}}
| |
↓ ↓
<比率補正を行うか?>
[No] [Yes]
| ↓
| {{縦補正処理}}
| ↓
| <空き領域処理を行うか?>
| [No] [Yes]
| | ↓
| | <保存領域が存在するか?>
| | [No] [Yes]
| | ↓ ↓
| |{{縮小化}} {{保存領域の復帰}}
| |{{タイル}} |
↓ ↓ ↓ ↓
<トーン変換の指定があるか?>
[No] [Yes]
| ↓
| {{色変換(パレットではない)}}
↓ ↓
{{終了}}
●ファイル名の転送
ウィンドウ上半分に表示しているファイル名は、マウスでつかんで他のウィンドウ
に転送することができます。(フルパス名)
また -c スイッチをつけている時にコメント入り画像ファイルを読み込んでいた場
合、そのコメント部分もつかんで転送することができます。
●メモリの消費について
この gpic では、画像は直接 V-RAM に展開してしまうため、それほどメモリは消
費しません。ただし、画像の展開中はワーク領域としてある程度のメモリを必要とす
ることがあります。
まず、画像は PIC 上位互換の APIC として読み込もうとします。ところが、この
APIC の読み込みにはメモリ 512K byte のワーク領域が必要です。そこで、メイン
メモリから 512K 確保できない場合はそれをあきらめて PIC でロードしようとしま
す。そのため、メモリがなくても通常の PIC フォーマットなら問題なく読み取るこ
とができます。
さらに、画像の展開がモード4または5の場合、保存領域としてロード中にさらに
172Kbyte 必要になります。これが確保できない場合、モード4、5での読み込みは
できませんので、モード1~3を使って下さい。
● GPIC の2重実行
v1.30 迄は手抜きで、プロセスチェックを行なっていませんでした。そのため間違っ
て GPIC が複数起動されてしまうという可能性がありましたが、この v1.40 からは
そのようなことが起こりません。
例えば、すでに画面上に GPIC が起動されている時に、さらに
GPIC 画像ファイル
として、GPIC を実行しても、その GPIC は起動しません。その代わり、与えられた
画像ファイルをすでに画面上にいる GPIC に渡して、そちらでロードを行ないます。
また、
GPIC -mモード 画像ファイル
のように、ロードモードを指定して起動した場合も、すでに画面上にいる GPIC がそ
の画像モードで画像を読み込みます。
つまり、画面上の GPIC を外部からコントロールすることができます。
● GPIC 専用コントロールワード
ロードモード修正は等の外部コントロールは以下のイベント送信で可能です。で設
定可能です。もちろん、通常の UserPaste や UserString, UserStrings に対応して
います。
ComData= 'Gpic'
ComBuffer= "gmode1" ~ "gmode6"
ComBuffer= "zoom0" ~ "zoom3" (0:Zoomなし,1:Zoom,3:Zoom中央)
ComBuffer= "tone0" ~ "tone100"
ComBuffer= "B0" ~ "B100" (RGB個別のtone指定)
ComBuffer= "R0" ~ "R100"
ComBuffer= "G0" ~ "G100"
内部構造体へのアクセスは、Common領域へ "Gpic使用中" という名前で参照できま
す。詳しく知りたい方は別配布している GPIC のソースリストを入手して下さい
(gpic.hです)。
●関連アプリケーションの紹介
・picsav.win
背景の PIC 画像の表示位置を修正したり、任意の範囲をファイルにセーブできる
プログラムです。いわば、GPIC がローダーなのに対してこちらはセーバーです。
・mono2.win (作:TeX2)
PIC 画像を任意の色相にモノトーン化するプログラムです。
その他未公開アプリが数点あります。そのうち公開します。
・ghan.win
ウィンドウ画面を全部、背景の PIC 画像に対して半透明合成します。X68K の半透
明機能を使用したものです。
●注意点
グラフィック画面はなんらかの理由で破壊される可能性は非常に大きいものです。
(たとえばチャイルドプロセスによる影響など)画面が破壊されたらポップアップメ
ニューの「再ロード」を実行して下さい。PIC を読み込み直します。
●コマンドライン版
v1.53 から gpic.win と同時にコマンドライン版の smallpic.x も一般公開するこ
とにしました(ただし別アーカイブ)。これは gpic と同じ Makefile で同じソースか
ら作られます。もともとはデバッグのために、gpic からローダー単体だけを取り出し
ただけのものだったのですが、それなりに使い道はあるでしょう。
●開発に使用したツール
コンパイラ GCC 1.42 v1.10 (mariko)
アセンブラ HAS.X ver2.55 (Y.Nakamura)
リンカ HLK 2.27 (SALT)
エデイタ STEVIE 3.69/J1.3 X68K 1.63 Ko-Window ver.2 (KoSTEVIE K2)
ライブラリ XC ver1.01/ver2.00 (SHARP/Hudson)
Ko-Window 2.24+10.1 (T.Kobayashi)
●最後に
このプログラムの PIC ファイル展開ルーチンは、柳沢明氏による PIC.R および
TONBE 氏の APIC.R をそのまま使用させていただきました。感謝します。
このプログラムの配布、利用は自由です。作者への連絡無しに転載して構いません。
連絡先
小笠原博之 oga@dgw.yz.yamagata-u.ac.jp
SPS-NET: SPS0783 COR.
DenDenNET: DEN0006 COR. (米沢市 0238-23-3323)